// 跳转home页面，如果打开过，则切换到该tab
export const openHomeTab = async (query?: Record<string, string>) => {
    let queryString = Object.entries(query || {})
        .map(([key, value]) => `${key}=${value}`)
        .join('&')
    const homeUrl = browser.runtime.getURL('/home.html')
    let url = homeUrl
    if (queryString) {
        url += `?${queryString}`
    }

    // 找到当前已经打开的tab，先用title找，如果没找到，再用url找，如果没找到，则打开新tab
    let openedTab = await browser.tabs.query({ title: 'Mock Response' })
    if (!openedTab.length) {
        openedTab = await browser.tabs.query({ url: homeUrl })
    }
    if (openedTab.length > 0) {
        await browser.tabs.update(openedTab[0].id, { active: true, url })
        return
    }

    // 打开新tab并放在当前激活的tab后面
    await browser.tabs.create({
        url,
    })
}
